The present invention relates generally to storage and retrieval of data on magnetic tape and more particularly to a method of alternate tape repositioning during data recovery.
Controller electronics for a tape drive may include error correction and detection circuitry (ECC) to detect and correct data transfer errors in data retrieved from and written to a tape on a tape drive. ECC is applied to data xe2x80x9con-the-flyxe2x80x9d as data is transferred to or from the media. Severe faults may render some errors unrecoverable by the ECC engine compromising integrity of the data. Tape drive firmware may include a module that may be activated to recover data which has been shown to be non-recoverable employing the ECC.
A fault causing a data transfer error may originate in the media, the read/write transducers, or drive electronics. However, it may be difficult for the controller to determine where the fault resides and consequently apply an effective recovery. Existing non-ECC error recovery methods typically consist of a sequence of predetermined error recovery procedures (ERP). An ERP may include: multiple attempts to read or write the data; a re-tensioning of the tape followed by an attempt to reread the data; changing the channel filter parameters and retry; tape head cleaning operations and other similar rehabilitative measures. These ERP are applied in a predetermined sequence regardless of the nature of the fault that caused the data error.
Attempts to read or write the data multiple times involve reversing the tape back to a ramp-up point before a target data block and accelerating to the target data block to be read or written again. Every time a retry fails, the tape drive reverses tape travel direction and continues its reverse linear travel until a ramp-up point past the target data block is reached. If the non-ECC recovery consists, for example of a sequence of twenty retries, then twenty tape forward/reverse cycles must occur to complete the process making the error recovery attempt time consuming. Additionally, repeated cycles may eventually cause tape degradation.
The present invention is directed to a method of alternate tape repositioning during data recovery. According to the invention, an ERP is performed during both the forward half and the reverse half of the forward/reverse cycle. The method takes advantage of the reverse half of the tape forward/reverse cycle, to perform an ERP thereby reducing total data recovery time. A non-ECC recovery module may include as an example ten error recovery procedures, ERP1 trough ERP10. ERP1 trough ERP10 may include one or more error recovery procedures.
In the event that a tape drive fails to read a target data block, the tape continues its linear travel until a forward ramp-up point beyond the target data block is reached. The tape drive changes linear travel direction. When the tape heads are on top of the target data block, a first error recovery procedure is performed in the reverse linear travel direction. If the first error recovery procedure fails then the tape continues its reverse linear travel until a reverse ramp-up point past the target data block is reached. Once again, the tape drive changes linear travel direction and a second error recovery procedure is performed in the forward linear travel direction. If the error recovery procedure fails then the tape continues its forward linear travel to the forward ramp-up point. Once again, the tape drive changes tape travel direction and a third error recovery procedure is performed in the reverse linear travel direction. The procedure of tape advance, change tape travel direction and execute error recovery procedure continues until the data at the target data block is recovered, or until a pre-selected number of error recovery procedures have been executed. In the event that the pre-selected number of error recovery procedures have been executed without successful data recovery, a drive host may be notified of the failure to retrieve the data.